async function async1() {
    console.log('1-1') //2
    //? await后面是同步执行 await会把后面的东西包装成promise 所以这里使用await的话
    var a = await async2()
    console.log('a',a)
    console.log('1-2') //6
}
async function async2() {
    console.log('2-1') //3
}

console.log('1') //1
async1()
setTimeout(() => {
    console.log('3-1') //8
},0)
new Promise((resolve, reject) => {
    console.log('4-1') //4
    resolve()
}).then(res => {
    console.log('4-2') //7
})
console.log('2') //5
